iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
Software Development

LeetCode刷題日記系列 第 18

【Day 18】#14 - Longest Common Prefix

  • 分享至 

  • xImage
  •  

Write a function to find the longest common prefix string amongst an array of strings.

If there is no common prefix, return an empty string "".

Example 1:

Input: ["flower","flow","flight"]
Output: "fl"

Example 2:

Input: ["dog","racecar","car"]
Output: ""

Explanation: There is no common prefix among the input strings.
Note:
All given inputs are in lowercase letters a-z.

解析

此題要求所有字串的前綴共通字串。

解法

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:
        if not strs: return ""
        s_min = min(strs)
        s_max = max(strs)
        
        for i, ch in enumerate(s_min):
            if ch != s_max[i]:
                return s_min[:i]
        return s_min    

備註


希望透過記錄解題的過程,可以對於資料結構及演算法等有更深一層的想法。
如有需訂正的地方歡迎告知,若有更好的解法也歡迎留言,謝謝。


上一篇
【Day 17】#20 - Valid Parentheses
下一篇
【Day 19】#34 - Find First and Last Position of Element in Sorted Array
系列文
LeetCode刷題日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言